<%--
    Document   : editsrc
    Created on : 15.05.2011, 17:22:34
    Author     : 647_2
--%>

<%@page import="Access.CountriesRemote"%>
<%@page import="Access.RecordingsRemote"%>
<%@page import="Entities.Country"%>
<%@page import="Entities.Instrument"%>
<%@page import="Entities.InstrumentType"%>
<%@page import="Access.InstrumentTypesRemote"%>
<%@page import="Access.InstrumentsRemote"%>
<%@page import="ExtEntities.VeryExtGroup"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Locale"%>
<%@page import="java.text.DateFormat"%>
<%@page import="ExtEntities.ExtComposition"%>
<%@page import="Entities.SoundRecordingCompany"%>
<%@page import="ExtEntities.VeryExtAlbum"%>
<%@page import="Access.AlbumsRemote"%>
<%@page import="java.text.spi.DateFormatProvider"%>
<%@page import="java.sql.Date"%>
<%@page import="Entities.URL"%>
<%@page import="Access.URLsRemote"%>
<%@page import="Access.ExecutorsWithInstrumentRemote"%>
<%@page import="Entities.ExecutorWithInstrument"%>
<%@page import="Entities.Genre"%>
<%@page import="Access.GenresRemote"%>
<%@page import="Access.GroupsRemote"%>
<%@page import="Entities.Group"%>
<%@page import="java.util.LinkedList"%>
<%@page import="params.Params"%>
<%@page import="Access.CompositionsRemote"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="ExtEntities.VeryExtComposition"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><% out.print("Правка/добавление звукозаписывающей компании - " + Params.getSiteName()); %></title>
    </head>
    <body>
        <% out.print(Params.getHeader("Правка/добавление звукозаписывающей компании")); %>

        <%
                   out.println("<a href=\"" + Params.getSiteURL() + "editsrc.jsp?mode=0\">[добавить новую компанию]</a> ");
                   out.println("<a href=\"" + request.getHeader("referer") + "\">[на предыдущую страницу]</a><br /><br />");

                   //while(request.getHeaderNames().hasMoreElements()){
                   //    out.println(request.getHeaderNames().nextElement() + "<br />");
                   //    request.getHeaderNames().
                   //}

                   InitialContext ic = new InitialContext();
                   InstrumentsRemote in = (InstrumentsRemote)ic.lookup(InstrumentsRemote.class.getName());
                   InstrumentTypesRemote it = (InstrumentTypesRemote)ic.lookup(InstrumentTypesRemote.class.getName());
                   RecordingsRemote re = (RecordingsRemote)ic.lookup(RecordingsRemote.class.getName());
                   CountriesRemote co = (CountriesRemote)ic.lookup(CountriesRemote.class.getName());

                   int mode = 0;
                   int ID = 0;
                   int cID = 0;
                   String name = "";
                   String address = "";
                   long phone = 0;

                   //ID = Integer.parseInt(request.getParameter("ID"));
                   mode = Integer.parseInt(request.getParameter("mode"));

                   switch(mode){

                       case 4: //удаление компании

                           if (request.getParameter("ID") != null){

                             ID = Integer.parseInt(request.getParameter("ID"));

                             if (re.DeleteRecording(ID)){
                                out.println("Компания успешно удалена! А жаль :(");
                             } else {
                                out.println("Компания не удалена!");
                             }
                           } else {
                              out.println("Неверные параметры");
                           }
                           break;

                         case 3: //принятие данных правки

                              if ((request.getParameter("name") != null) && (request.getParameter("cID") != null) && (request.getParameter("address") != null) && (request.getParameter("phone") != null)&& (request.getParameter("ID") != null)){

                              name = request.getParameter("name");
                              name = new String(name.getBytes("ISO-8859-1"), "UTF-8");

                              address = request.getParameter("address");
                              address = new String(address.getBytes("ISO-8859-1"), "UTF-8");

                              cID = Integer.parseInt(request.getParameter("cID"));

                              ID = Integer.parseInt(request.getParameter("ID"));

                              phone = Long.parseLong(request.getParameter("phone"));

                              if (re.UpdateRecording(ID, name, cID, address, phone)){
                                    out.println("Компания обновлена!");
                              } else {
                                    out.println("Компания не обновлена!");
                              }
                              } else {
                                 out.println("Неверные параметры");
                             }
                            break;

                         case 2: //страница правки (несколько блоков)

                             if (request.getParameter("ID") != null){

                             ID = Integer.parseInt(request.getParameter("ID"));

                             SoundRecordingCompany src = re.getRecording(ID);

                             if (src != null){

                             //Блок правки данных ззк
                             out.println("Правка данных о компании: <br />");
                             out.println("<form action=\"" + Params.getSiteURL() + "editsrc.jsp?mode=3&ID=" + src.getIDAsInt() + "\" method=\"POST\">");
                             out.println("Название: <input type=\"text\" name=\"name\" value=\"" + src.get_name() + "\"/><br />");

                             LinkedList<Country> cs = co.getAllCountries();

                             out.print("Тип инструмента: <select name=\"itID\">");

                             for (int i = 0; i < cs.size(); i++){
                                 if (i == src.get_country().getIDAsInt()){
                                   out.print("<option value=\"" + cs.get(i).getIDAsInt() + "\" selected>" + cs.get(i).get_name() + "</option>");
                                 } else {
                                   out.print("<option value=\"" + cs.get(i).getIDAsInt() + "\">" + cs.get(i).get_name() + "</option>");
                                 }
                             }
                             out.print("</select>");

                             out.println("Адрес: <input type=\"text\" name=\"address\" value=\"" + src.get_address() + "\"/><br />");
                             out.println("Адрес: <input type=\"text\" name=\"phone\" value=\"" + src.get_phoneNumber() + "\"/><br />");

                             out.print("</select><br />");

                             out.println("<input type=\"submit\" value=\"Править\"/>");
                             out.println("</form>");

                             out.println("<a href=\"" + Params.getSiteURL() + "editsrc.jsp?mode=4&ID=" + src.getIDAsInt() + "\">[удалить компанию]</a>");
                             } else {
                                 out.println("Данная компания не содержится в базе");
                             }
                             } else {
                                 out.println("Неверные параметры");
                             }
                            break;

                          case 1: //обработчик добавления

                              if ((request.getParameter("name") != null) && (request.getParameter("cID") != null) && (request.getParameter("address") != null) && (request.getParameter("phone") != null)){

                              name = request.getParameter("name");
                              name = new String(name.getBytes("ISO-8859-1"), "UTF-8");

                              address = request.getParameter("address");
                              address = new String(address.getBytes("ISO-8859-1"), "UTF-8");

                              cID = Integer.parseInt(request.getParameter("cID"));

                              phone = Long.parseLong(request.getParameter("phone"));

                              if (re.AddRecording(name, cID, address, phone)){
                                    out.println("Компания добавлена успешно!");
                              } else {
                                    out.println("Компания не добавлена!");
                              }
                              } else {
                                 out.println("Неверные параметры");
                             }
                              break;

                          case 0: //страница добавления
                          default:
                              out.println("<form action=\"" + Params.getSiteURL() + "editsrc.jsp?mode=1\" method=\"POST\">");
                              out.println("Название: <input type=\"text\" name=\"name\" /><br />");

                              LinkedList<Country> cs = co.getAllCountries();

                              out.print("Страна: <select name=\"cID\">");

                              for (int i = 0; i < cs.size(); i++){
                                   out.print("<option value=\"" + cs.get(i).getIDAsInt() + "\">" + cs.get(i).get_name() + "</option>");
                              }
                              out.print("</select><br />");

                              out.println("Адрес: <input type=\"text\" name=\"address\" /><br />");
                              out.println("Телефон: <input type=\"text\" name=\"phone\" /><br />");

                              out.print("</select>");


                              out.println("<input type=\"submit\" value=\"Добавить\"/>");




                              out.println("</form>");

                   }


        %>
        <% out.print(Params.getFooter()); %>
    </body>
</html>
